Crate bevy_app

Source
Expand description

This crate is about everything concerning the highest-level, application layer of a Bevy app.

Re-exports§

Modules§

Macros§

Structs§

  • Animation system set. This exists in PostUpdate.
  • App is the primary API for writing user applications. It automates the setup of a standard lifecycle and provides interface glue for plugins.
  • Runs first in the schedule.
  • Runs first in the FixedMain schedule.
  • The schedule that runs last in FixedMain
  • The schedule that contains systems which only run after a fixed period of time has elapsed.
  • Defines the schedules to be run for the FixedMain schedule, including their order.
  • The schedule that runs after the FixedUpdate schedule, for reacting to changes made in the main update logic.
  • The schedule that contains logic that must run before FixedUpdate.
  • The schedule that contains most gameplay logic, which runs at a fixed rate rather than every render frame. For logic that should run once per render frame, use the Update schedule instead.
  • Runs last in the schedule.
  • The schedule that contains the app logic that is evaluated each tick of App::update().
  • Defines the schedules to be run for the Main schedule, including their order.
  • Initializes the Main schedule, sub schedules, and resources for a given App.
  • Adds sensible panic handlers to Apps. This plugin is part of the DefaultPlugins. Adding this plugin will setup a panic hook appropriate to your target platform:
  • Facilitates the creation and configuration of a PluginGroup.
  • The schedule that runs once after Startup.
  • The schedule that contains logic that must run after Update. For example, synchronizing “local transforms” in a hierarchy to “global” absolute transforms. This enables the PostUpdate transform-sync system to react to “local transform” changes in Update without the Update systems needing to know about (or add scheduler dependencies for) the “global transform sync system”.
  • The schedule that runs before Startup.
  • The schedule that contains logic that must run before Update. For example, a system that reads raw keyboard input OS events into an Events resource. This enables systems in Update to consume the events from the Events resource without actually knowing about (or taking a direct scheduler dependency on) the “os-level keyboard event system”.
  • Runs the FixedMain schedule in a loop according until all relevant elapsed time has been “consumed”.
  • Configures an App to run its Schedule according to a given RunMode.
  • The schedule that contains scene spawning.
  • The schedule that runs once when the app starts.
  • A secondary application with its own World. These can run independently of each other.
  • The collection of sub-apps that belong to an App.
  • Gracefully handles Ctrl+C by emitting a AppExit event. This plugin is part of the DefaultPlugins.
  • The schedule that contains any app logic that must run once per render frame. For most gameplay logic, consider using FixedUpdate instead.

Enums§

  • An event that indicates the App should exit. If one or more of these are present at the end of an update, the runner will end and (maybe) return control to the caller.
  • Plugins state in the application
  • Set enum for the systems that want to run inside RunFixedMainLoop, but before or after the fixed update logic. Systems in this set will run exactly once per frame, regardless of the number of fixed updates. They will also run under a variable timestep.
  • Determines the method used to run an App’s Schedule.

Traits§

  • A strongly-typed class of labels used to identify an App.
  • An object safe version of Eq. This trait is automatically implemented for any 'static type that implements Eq.
  • A collection of Bevy app logic and configuration.
  • Combines multiple Plugins into a single unit.
  • Types that represent a set of Plugins.

Type Aliases§

Derive Macros§

  • Generates an impl of the AppLabel trait.